package com.lhkj.ct.meta.modules.psychology.model.entity;

import com.lhkj.ct.base.validator.group.ValGroups;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Tolerate;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author jobob
 * @since 2023-10-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value="TblScaleReportContent对象", description="")
public class TblScaleReportContent implements Serializable {

    @Tolerate
    public TblScaleReportContent() {
    }

    private static final long serialVersionUID = 1L;

    @NotBlank(message = "报告内容id不能为空", groups = {ValGroups.Update.class})
    @ApiModelProperty(value = "报告内容id")
    private String id;

    @ApiModelProperty(value = "报告id")
    private String rId;

    @ApiModelProperty(value = "维度id")
    private String dimId;

    @ApiModelProperty(value = "维度名称")
    private String dimName;

    @ApiModelProperty(value = "维度类型")
    private Integer dimType;

    @ApiModelProperty(value = "解释说明id")
    private String exId;

    @ApiModelProperty(value = "解释说明状态")
    private String exStatus;

    @ApiModelProperty(value = "原始分")
    private BigDecimal originalScore;

    @ApiModelProperty(value = "标准分")
    private BigDecimal realScore;

    @ApiModelProperty(value = "最高分")
    private BigDecimal highestScore;

    @NotBlank(message = "结果描述不能为空", groups = {ValGroups.Update.class})
    @ApiModelProperty(value = "结果描述")
    private String explanation;

    @NotBlank(message = "心理建议不能为空", groups = {ValGroups.Update.class})
    @ApiModelProperty(value = "心理建议")
    private String recommend;

    @ApiModelProperty(value = "是否仅做因子计算")
    private Boolean factor;

}
